package Busquedas;


public class Arbol {
	
	private Nodo raiz;
	
	private int [] operadoresAplicados;
	
	private Arbol[] hijos;
	
	private int numHijos;
	

	private int numMaxHijos;

	public Arbol(Nodo raiz, int numMaxHijos) {
		this.raiz = raiz;
		this.numHijos = 0;
		this.numMaxHijos = numMaxHijos;
		this.operadoresAplicados=new int [numMaxHijos];
		hijos = new Arbol[numMaxHijos];
	}

	public Arbol[] getHijos() {
		return hijos;
	}

	public Nodo getRaiz() {
		return raiz;
	}

	public void setRaiz(Nodo raiz) {
		this.raiz = raiz;
	}
	
	public int getNumHijos(){
		return numHijos;
	}
	
	public Arbol anadeHijo(Nodo n,int operador){
		if (numHijos < numMaxHijos){
			this.hijos[numHijos] = new Arbol(n,numMaxHijos);
			this.operadoresAplicados[operador]=1;
			n.setPadre(this.raiz);
			return this.hijos[numHijos++];
		}
		return null;
	}

	public int[] getOperadoresAplicados() {
		return operadoresAplicados;
	}

	public void setOperadoresAplicados(int[] operadoresAplicados) {
		this.operadoresAplicados = operadoresAplicados;
	}

	public int getNumMaxHijos() {
		return numMaxHijos;
	}

	public void setNumMaxHijos(int numMaxHijos) {
		this.numMaxHijos = numMaxHijos;
	}

	public void setHijos(Arbol[] hijos) {
		this.hijos = hijos;
	}

	public void setNumHijos(int numHijos) {
		this.numHijos = numHijos;
	}
	
	
	
	

}
